""" 查找某个元素在列表中出现的位置（索引下标） 如果该元素不存在则报错 """
# list1 = ['apple', 'banana', 'pineapple']
# print(list1.index('banana'))  # 0
# print(list1.index('peach'))  # 报错

""" count()方法：统计元素在列表中出现的次数 """
# list2 = ['刘备', '关羽', '张飞', '关羽', '赵云']
# # 统计一下关羽这个元素在列表中出现的次数
# print(list2.count('张飞'))

""" in方法和not in方法（黑名单系统)  """
# list3 = ['192.168.1.15', '10.1.1.100', '172.35.46.128']
# if '10.1.1.100' in list3:
#     print('黑名单IP，禁止访问')
# else:
#     print('正常IP，访问站点信息')

""" append() ：在列表的尾部追加元素 """
# names = ['孙悟空', '唐僧', '猪八戒']
# # 在列表的尾部追加一个元素"沙僧"
# names.append("沙僧")
# # 打印列表
# print(names)

""" extend()方法 列表结尾追加数据，如果数据是一个序列，则将这个序列的数据逐一添加到列表 """
# list1 = ['Tom', 'Rose', 'Jack']
# # 1、使用extend方法追加元素"Jennify"
# names.extend(list1)
# print(names)

# 2、建议：使用extend方法两个列表进行合并
# list2 = ['Hack', 'Jennify']
# list1.extend(list2)
# # 打印列表
# print(list1)

""" insert()方法 作用：在指定的位置增加元素"""
# names = ['薛宝钗', '林黛玉']
# # 在薛宝钗和林黛玉之间，插入一个新元素"贾宝玉"
# names.insert(1, '贾宝玉')
# print(names)

""" del删除指定的列表元素 """
# names = ['Tom', 'Rose', 'Jack', 'Jennify']
# # 基本语法通过下标去删除指定字符串
# # 删除Rose
# del names[1]
# # 打印列表
# print(names)

""" pop()方法 作用：删除指定下标的元素，如果不填写下标，默认删除最后一个。其返回结果：就是删除的这个元素 """
# names = ['貂蝉', '吕布', '董卓']
# # del_name = names.pop()
# # 或
# del_name = names.pop(1)
# print(del_name)
# print(names)

""" remove()方法 作用：删除匹配的元素 """
# fruit = ['apple', 'banana', 'pineapple']
# fruit.remove('banana')
# print(fruit)

""" clear()方法 清空列表 """
# names = ['貂蝉', '吕布', '董卓']
# # 随着故事的发展，人物都game over
# names.clear()
# # 打印列表
# print(names)

""" 列表[索引] = 修改后的值 作用：修改列表中的某个元素"""
# list1 = ['貂蝉', '大乔', '小乔', '八戒']
# # 修改列表中的元素
# list1[3] = '周瑜'
# print(list1)

""" reverse() 作用：将数据序列进行倒叙排列 """
# list2 = [1, 2, 3, 4, 5, 6]
# list2.reverse()
# print(list2)

""" sort() 作用：对列表序列进行排序 """
list3 = [10, 50, 20, 30, 1]
list3.sort()  # 升序(从小到大)
# 或
# list3.sort(reverse=True)  # 降序(从大到小)
print(list3)

""" copy() 作用：对列表序列进行拷贝 """
list4 = list3.copy()
print(list4)
